package com.sx.mvvmlibs.http;


/**
 * @Author: YY
 * @Date: 2020/1/11
 * @Describe: 接口返回结果枚举
 */
public enum ResultEnum {

    // 请求成功
    SUCCESS( "OK", 200),

    // 请求失败
    FAILURE( "Bad Request", 201),

    //未设置支付密码
    NOT_SET_PAYWORD("未设置支付密码,是否去设置？",202),

    //余额不足
    NOT_MONEY("您的管币余额不足,是否去充值？",203),

    // 用户未登录验证
    UNAUTHORIZED( "登录过期，请重新登录", 401),

    // 未审核
    NOT_APPROVED("此账号未通过审核，部分功能无法使用。请联系平台进行审核操作！", 402),

    // 缺少必填参数内容或者参数错误
    REQUIRED( "参数需要或参数错误", 40002),

    // 加解密错误
    ENCRYPT_ERROR("加解密错误", 40003),

    // 错误
    ERROR("Error", 50000);


    // 响应信息
    private final String msg;

    // 响应状态码
    private final int code;

    /**
     * 构造函数
     */
    ResultEnum(String msg, int code) {
        this.msg = msg;
        this.code = code;
    }

    /**
     * 根据响应状态码获取响应结果
     */
    public static ResultEnum getResultEnum(int value) {
        for (ResultEnum resultEnum : ResultEnum.values()) {
            if (resultEnum.code == value) {
                return resultEnum;
            }
        }
        return null;
    }

    /**
     * 根据响应状态码获取响应信息
     */
    public static String getMsg(int value) {
        ResultEnum resultEnum = ResultEnum.getResultEnum(value);
        return (null != resultEnum) ? resultEnum.msg : "";
    }

    public String getMsg() {
        return msg;
    }

    public int getCode() {
        return code;
    }
}